package methodref;

import java.util.Arrays;
import java.util.List;

/**
 * 方法的引用
 */
public class MethodRef {

    public static void main(String[] args) {
        //第一种构造器引用
        final Car car = Car.create(Car::new);
        final List<Car> cars = Arrays.asList(car);
        //第二种静态方法引用
        cars.forEach(Car::collide);
        //第三种方法引用是特定类的任意对象的方法引用
        cars.forEach(Car::repair);
        //第四种方法引用是特定对象的方法引用
        final Car police = Car.create(Car::new);
        cars.forEach(police::follow);
    }
}
